#pragma once

#include "core.h"
#include <string>

class Shader
{
public:
	Shader(const char* vertexPath, const char* fragmentPath);
	~Shader();

	void begin();

	void end();

	void setFloat(const std::string& name, float value);

	void setVector3(const std::string& name, float x, float y, float z);

	void setVector3(const std::string& name, const float* values);

private:
	//shader program
	void checkShaderErrors(GLuint target, std::string type);

private:

	GLuint m_program_{ 0 };

};

